[VSCode / Remote 您所在的位置:网站首页 ssh XHR failed [VSCode / Remote

[VSCode / Remote

2024-02-26 07:08| 来源: 网络整理| 查看: 265

1. 症状

数分前まで、VSCodeから何の問題もなくリモートサーバーへのアクセスができていた。 しかし、なぜか急にVSCodeからのSSH接続ができなくなった。

そこで、SSH接続の試行中や失敗後に、VSCodeの出力 (output) タブを確認したところ、以下のようなエラーを確認できた。

エラーの抜粋 [19:05:24.142] stderr> OpenSSH_9.0p1, LibreSSL 3.3.6 [19:05:24.673] stderr> debug1: Server host key: ssh-ed25519 SHA256:qhW0XwqcYGXLSUw5bYEv3mitD1lgz5s0sQ+sqmzZQ9E [19:05:24.852] stderr> Authenticated to 10.2.1.227 (via proxy) using "publickey". [19:05:24.853] stderr> bind [::1]:'': Address already in use [19:05:24.853] stderr> bind [127.0.0.1]:'': Address already in use [19:05:24.853] stderr> channel_setup_fwd_listener_tcpip: cannot listen to port: ''

手がかりはこれだけ。

環境 項目 ローカルPC MacOS (M2) リモートサーバー AWS EC2 リモートOS Ubuntu VSCode version バージョン: 1.78.2 (Universal)

念のため私の環境を記載したものの、 おそらくMac以外(windowsなど)でも発生すると思われる。

2. 対処法

とりあえず先に結論だけ書きます! 以下の対処法で処理できました。

・ssh to the remote machine(s) and delete the ~/.vscode-server directory with rm -Rf ~/.vscode-server/

https://learn.microsoft.com/en-us/answers/questions/939587/fail-to-ssh-connect-to-ubuntu-vm-using-visual-stud

具体的な手順は以下の通り。

2-1. SSHアクセス時のHost名を確認

Host名は、PC上のconfigというファイルに書かれています。 これを確認します。

VSCodeからSSHアクセスできていたということは、貴方のPCにはおそらく、 ~/.ssh/config というファイルがあるはずです。 (ただし、もしかしたらconfigファイルが、他のフォルダ内にあるかもしれません。)

そのファイルに書かれているHost名が必要です。

configファイルの見方 例えば以下のような設定になっているのであれば、、、

~/.ssh/config Host training_server # OpenSSH_9.0p1, LibreSSL 3.3.6 [19:05:24.066] askpass server listening on /var/folders/7r/d08538nj63ncgxpk9jwhpxsc0000gp/T/vscode-ssh-askpass-e9630d00534335dfa147c8c9cde013370ec260d6.sock [19:05:24.066] Spawning local server with {"serverId":1,"ipcHandlePath":"/var/folders/7r/d08538nj63ncgxpk9jwhpxsc0000gp/T/vscode-ssh-askpass-7737e24c0e4bb81d177ef72f307ff3513945fcfa.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","50384","-o","ConnectTimeout=15","''"],"serverDataFolderName":".vscode-server","dataFilePath":"/Users/''/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-da1eb267-b3e4e68a0bc097f0ae7907b217c1119af9e03435-0.102.0/data.json"} [19:05:24.066] Local server env: {"SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.u6qA2youBr/Listeners","SHELL":"/bin/zsh","DISPLAY":"1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/Users/''/.vscode/extensions/ms-vscode-remote.remote-ssh-0.102.0/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/Users/''/Downloads/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","VSCODE_SSH_ASKPASS_EXTRA_ARGS":"--ms-enable-electron-run-as-node","VSCODE_SSH_ASKPASS_MAIN":"/Users/''/.vscode/extensions/ms-vscode-remote.remote-ssh-0.102.0/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/var/folders/7r/d08538nj63ncgxpk9jwhpxsc0000gp/T/vscode-ssh-askpass-e9630d00534335dfa147c8c9cde013370ec260d6.sock"} [19:05:24.067] Spawned 7683 [19:05:24.137] > local-server-1> Running ssh connection command: "-v -T -D 50384 -o ConnectTimeout=15 ''" [19:05:24.138] > local-server-1> Spawned ssh, pid=7689 [19:05:24.142] stderr> OpenSSH_9.0p1, LibreSSL 3.3.6 [19:05:24.673] stderr> debug1: Server host key: ssh-ed25519 SHA256:qhW0XwqcYGXLSUw5bYEv3mitD1lgz5s0sQ+sqmzZQ9E [19:05:24.852] stderr> Authenticated to 10.2.1.227 (via proxy) using "publickey". [19:05:24.853] stderr> bind [::1]:'': Address already in use [19:05:24.853] stderr> bind [127.0.0.1]:'': Address already in use [19:05:24.853] stderr> channel_setup_fwd_listener_tcpip: cannot listen to port: '' [19:05:25.035] > Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.19.0-1022-aws x86_64) > > * Documentation: https://help.ubuntu.com > * Management: https://landscape.canonical.com > * Support: https://ubuntu.com/advantage > > System information as of Mon Jun 12 10:04:32 UTC 2023 > > System load: 2.2568359375 Processes: 259 > Usage of /: 80.7% of 968.99GB Users logged in: 1 > Memory usage: 43% IPv4 address for docker0: 172.17.0.1 > Swap usage: 0% IPv4 address for eth0: 10.2.1.227 > > * Ubuntu Pro delivers the most comprehensive open source security and > compliance features. > > https://ubuntu.com/aws/pro > > 107 updates can be applied immediately. > To see these additional updates run: apt list --upgradable > > > *** System restart required *** [19:05:25.092] > ready: 930fb5b872f4 [19:05:25.126] > Linux 5.19.0-1022-aws #23~22.04.1-Ubuntu SMP Fri Mar 17 15:38:24 UTC 2023 [19:05:25.127] Platform: linux [19:05:25.151] > /bin/bash [19:05:25.151] Shell: bash [19:05:25.151] Creating bash subshell inside "bash" [19:05:25.187] > bash version: 5.1.16(1)-release [19:05:25.235] > 930fb5b872f4: running [19:05:25.261] > Acquiring lock on /home/ubuntu/.vscode-server/bin/b3e4e68a0bc097f0ae7907b217c1119af9e03435/vscode-remote-lock.ubuntu.b3e4e68a0bc097f0ae7907b217c1119af9e03435 [19:05:25.292] > Installation already in progress... > If you continue to see this message, you can try toggling the remote.SSH.useFlock setting > 930fb5b872f4: start > exitCode==24== > listeningOn==== > osReleaseId==ubuntu== > arch==x86_64== > vscodeArch==x64== > bitness==64== > tmpDir==/run/user/1000== > platform==linux== > unpackResult==== > didLocalDownload==0== > downloadTime==== > installTime==== > extInstallTime==== > serverStartTime==== > 930fb5b872f4: end [19:05:25.292] Received install output: exitCode==24== listeningOn==== osReleaseId==ubuntu== arch==x86_64== vscodeArch==x64== bitness==64== tmpDir==/run/user/1000== platform==linux== unpackResult==== didLocalDownload==0== downloadTime==== installTime==== extInstallTime==== serverStartTime==== [19:05:25.292] Server installation process already in progress - waiting and retrying [19:05:25.292] Terminating local server [19:05:25.297] Local server exit: 15 [19:05:26.299] askpass server listening on /var/folders/7r/d08538nj63ncgxpk9jwhpxsc0000gp/T/vscode-ssh-askpass-af8043ee197a0e7fe637f9611c64063e0d87ca8b.sock # ここで振り出しに戻り、以下エンドレス... 3-2. 調べたこと

これは私の場合ですが、上記の通りエラーログに、Address already in useと書いてありました。 なので念のため、そのポートが動いてないかも確認しました。

ローカルPCのターミナルで実施 # のところにsshアクセスするときに使用するport番号を入れてください $ lsof -i: # Example (利用するport番号が 22 の場合) $ lsof -i:22

上記コマンドを打つと、もし22番ポートが利用中であれば、以下のような出力が表示されます。

bash $ lsof -i:22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ssh 22069 username 6u IPv6 0xe2ab4b26dcc553b5 0t0 TCP localhost:22 (LISTEN) ssh 22069 username 7u IPv4 0xe2ab4b1d453fbe1d 0t0 TCP localhost:22 (LISTEN)

でも、何も出なかったんですよね。。。 already in useって書いてあったのに。使われていない。 幽霊👻じゃん。。。と思いました。

そんな貴方は、私と同じ現象に出くわしている可能性がありますので、 2. 対処法 を試していただければと思います。

それでもダメでしたら、 5. 参考資料 に載せた記事が参考になるかもしれません。 他の対処法も書いてあったので、そちらも見ていただければと思います >_



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有